package cn.net.cfss.fgbp.provider.console.dao;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import cn.net.cfss.fgbp.api.console.dto.SysOrganDto;
import cn.net.cfss.fgbp.api.console.vo.SysOrganVo;
import tk.mybatis.mapper.common.Mapper;

public interface SysOrganDtoMapper extends Mapper<SysOrganDto> {

    /**
     * 根据条件查询列表
     * 
     * @param sysDepartmentVo
     * @return
     */
    List<SysOrganVo> queryList(SysOrganVo sysDepartmentVo);

    /**
     * 更新子节点关联机构名称
     *
     * @param parentId
     * @return
     */
    void updateParentId(@Param("parentId") Long parentId,@Param("parentName") String parentName);

    /**
     * 查询一级列表分页
     *
     * @param sysDepartmentVo
     * @return
     */
    List<SysOrganVo> pageOne(SysOrganVo sysDepartmentVo);

    /**
     * 新增 校验机构名称重复
     *
     * @param organName
     * @return
     */
    List<SysOrganVo> checkAddOrganName(@Param("organName")String organName);

    /**
     * 修改 校验机构名称重复
     *
     * @param organName
     * @return
     */
    List<SysOrganVo> checkUpdateOrganName(@Param("organName")String organName,@Param("id")Long id);

    /**
     * 更新父节点叶子标识
     *
     * @param id
     * @return
     */
    void updateParentIsLeafNode(@Param("id")Long id);



    /**
     * 根据部门ID查询
     *
     * @param id
     * @return
     */
    SysOrganVo getById(Long id);

    /**
     * 获取父级最大值
     * @param parentId
     * @return
     */
    String maxLevel(@Param("parentId")Long parentId);

    List<SysOrganVo> queryListOne();
}